// 实现一个所有页面渲染前都要执行得middleware(类似于全局导航守卫)
import {getToken} from '@/utils/cookie'
import axios from 'axios'
export default function ({route,next,store}) {
    // console.log(context);//permission 允许
    const whiteList=['/login','/reg']; //白名单  
    const token=getToken()
    // 要到哪个页面  先判断有没有token,如果没有token就看看在不在白名单里
    if(token){
        // console.log(token);
        // 如果有token 判断用户信息无用户信息 就发请求获取
        // 对于has和is开头得一般情况下是布尔值
        const hasRoles=store.getters.roles&&store.getters.roles.length>0
        if(hasRoles){//如果有角色 

        }else{//无用户信息 就发请求获取
            store.dispatch("user/getUserInfo",{axios,token})
        }
    }else{//如果没有token就看看在不在白名单里
        // console.log(route.path);
        if(whiteList.includes(route.path)){//如果在白名单  就进去
            // next()
        }else{//否则返回登录页
            next({path:'/login',redirect:true})
        }
    }
}